﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using DevExpress.XtraGrid;
namespace ServiceOTOForm
{
    public partial class Hangxe : DevExpress.XtraEditors.XtraForm
    {
        public Hangxe()
        {
            InitializeComponent();
        }
        private int TT = 0;
        private OTOSW.DataIn dti = new OTOSW.DataIn();
        private OTOSW.HANGXE_ENTITY hxEn = new OTOSW.HANGXE_ENTITY();

        private void Hangxe_Load(object sender, EventArgs e)
        {
            LoadDanhSachHangXe();
            LoadThongTinHangXe(0);
            gridView1.CloseEditor();
        }
        private void LoadDanhSachHangXe()
        {
           
            try
            {
                
                DataSet ds = new DataSet();
                ds = dti.DanhSachHangXe(hxEn);
                gridControl1.DataSource = ds.Tables[0];
               


            }
            catch
            {

            }
        }
        private void LoadTTHangXe(string MAHANG)
        {
            try
            {
              
       
                hxEn.MAHANG = MAHANG;
                DataSet ds = new DataSet();
                ds = dti.DanhSachHangXe(hxEn);
                gridControl1.DataSource = ds.Tables[0];


            }
            catch
            {

            }
        }
        private void XoaRong()
        {
            txtMaHang.Text = "";
            txtTenHang.Text = "";
            cboQuocGia.SelectedText="";
            txtMaHang.Properties.ReadOnly = false;
        }

        private void LuuHangXe()
        {
            if (KiemTraNhapLieu())
            {
                hxEn.MAHANG = txtMaHang.Text;
                hxEn.TENHANG = txtTenHang.Text;
                hxEn.QUOCGIA = cboQuocGia.SelectedItem.ToString();
                if (TT == 1)//THEM
                {
                    try
                    {
                        dti.LuuHangXe(hxEn);
                        MessageBox.Show("Thêm thành công hãng xe " + txtTenHang.Text, "Thông báo", MessageBoxButtons.OK);
                        ActiveButton(false);
                        LoadDanhSachHangXe();
                    }
                    catch
                    {
                        MessageBox.Show("Xảy ra lỗi khi thêm hãng xe " + txtTenHang.Text, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    try
                    {
                        dti.LuuHangXe(hxEn);
                        MessageBox.Show("Cập nhật thành công hãng xe " + txtTenHang.Text, "Thông báo", MessageBoxButtons.OK);
                        ActiveButton(false);
                        LoadDanhSachHangXe();
                    }
                    catch
                    {
                        MessageBox.Show("Xảy ra lỗi khi cập nhật hãng xe " + txtTenHang.Text, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                
                XoaRong();
                TT = 0;
                LoadThongTinHangXe(0);
                
            }
        }

        private void btLuu_Click(object sender, EventArgs e)
        {
            try
            {
                LuuHangXe();
               
            }
            catch
            {

            }
           
        }

        private void btThem_Click(object sender, EventArgs e)
        {
            XoaRong();
            TT = 1;
            ActiveButton(true);
        }
        private void ActiveButton(bool flag)
        {
           
                btLuu.Enabled = flag;
                btHuy.Enabled = flag;
                btThem.Enabled = !flag;
                btSua.Enabled = !flag;
                btXoa.Enabled = !flag;
          
        }

        private void btSua_Click(object sender, EventArgs e)
        {
            TT = 2;
            txtMaHang.Properties.ReadOnly = true;
            ActiveButton(true);
        }

        private void btHuy_Click(object sender, EventArgs e)
        {
            try
            {
                XoaRong();
                LoadThongTinHangXe(0);
                ActiveButton(false);
            }
            catch 
            { 

            }
        }

        private void btXoa_Click(object sender, EventArgs e)
        {
            hxEn.MAHANG = txtMaHang.Text;
            try
            {
                if (MessageBox.Show("Bạn có muốn xoá hãng xe " + txtTenHang.Text + " không ?", "Xác nhận", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    dti.XoaHangXe(hxEn);
                    MessageBox.Show("Xoá thành công hãng xe " + txtTenHang.Text, "Thông báo", MessageBoxButtons.OK);
                    XoaRong();
                    LoadDanhSachHangXe();
                    LoadThongTinHangXe(0);
                }
            }
            catch
            {
 
            }
        }
        private bool KiemTraNhapLieu()
        {
            if (txtMaHang.Text.Length == 0)
            {
                MessageBox.Show("Phải nhập mã hãng xe", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return false;
            }
            if (txtTenHang.Text.Length == 0)
            {
                MessageBox.Show("Phải nhập tên hãng xe", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return false;
            }
            if (cboQuocGia.SelectedItem.ToString()=="")
            {
                MessageBox.Show("Phải chọn quốc gia", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return false;
            }
            return true;
        }
        private void LoadThongTinHangXe(int vtdong)
        {
            
            if (gridView1.RowCount  > 0)
            {
                hxEn.MAHANG = gridView1.GetRowCellValue(vtdong, "MAHANG").ToString();
                DataSet ds = dti.ThongTinHangXe(hxEn);
                if (ds.Tables.Count > 0)
                {
                    txtMaHang.Text = ds.Tables[0].Rows[0][0].ToString();
                    txtTenHang.Text = ds.Tables[0].Rows[0][1].ToString();
                    cboQuocGia.Text = ds.Tables[0].Rows[0][2].ToString();
                }
            }
        }

       

        private void gridView1_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e)
        {
            try
            {
                if (TT == 0)
                {
                    int i = gridView1.FocusedRowHandle;
                    LoadThongTinHangXe(i);
                }

            }
            catch
            {

            }
        }

        private void gridView1_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
        {
            try
            {
                if (TT == 0)
                {
                    int i = gridView1.FocusedRowHandle;
                    LoadThongTinHangXe(i);
                }

            }
            catch
            {

            }
        }
    }
}